[INFO] cloning repository https://github.com/Aurailus/Scout
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Aurailus/Scout" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAurailus%2FScout", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAurailus%2FScout'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d98d3bd8ed942b763cc3ecba8de258e333dacfa9
[INFO] testing Aurailus/Scout against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAurailus%2FScout" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Aurailus/Scout
[INFO] finished tweaking git repo https://github.com/Aurailus/Scout
[INFO] tweaked toml for git repo https://github.com/Aurailus/Scout written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Aurailus/Scout on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Aurailus/Scout already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.73
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.73
[INFO] [stderr]   Downloaded strum v0.18.0
[INFO] [stderr]   Downloaded cairo-sys-rs v0.10.0
[INFO] [stderr]   Downloaded futures-macro v0.3.14
[INFO] [stderr]   Downloaded pango-sys v0.10.0
[INFO] [stderr]   Downloaded opener v0.4.1
[INFO] [stderr]   Downloaded gdk-pixbuf-sys v0.10.0
[INFO] [stderr]   Downloaded glib v0.10.3
[INFO] [stderr]   Downloaded futures-executor v0.3.14
[INFO] [stderr]   Downloaded shell-words v1.0.0
[INFO] [stderr]   Downloaded serde v1.0.125
[INFO] [stderr]   Downloaded thiserror-impl v1.0.24
[INFO] [stderr]   Downloaded gtk-sys v0.10.0
[INFO] [stderr]   Downloaded futures-task v0.3.14
[INFO] [stderr]   Downloaded gdk-sys v0.10.0
[INFO] [stderr]   Downloaded dirs v3.0.2
[INFO] [stderr]   Downloaded colorsys v0.6.3
[INFO] [stderr]   Downloaded whoami v1.1.2
[INFO] [stderr]   Downloaded gobject-sys v0.10.0
[INFO] [stderr]   Downloaded futures-io v0.3.14
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.73
[INFO] [stderr]   Downloaded futures-sink v0.3.14
[INFO] [stderr]   Downloaded futures-util v0.3.14
[INFO] [stderr]   Downloaded version-compare v0.0.10
[INFO] [stderr]   Downloaded futures-channel v0.3.14
[INFO] [stderr]   Downloaded gio-sys v0.10.1
[INFO] [stderr]   Downloaded gdk v0.13.2
[INFO] [stderr]   Downloaded atk-sys v0.10.0
[INFO] [stderr]   Downloaded atk v0.9.0
[INFO] [stderr]   Downloaded web-sys v0.3.50
[INFO] [stderr]   Downloaded pango v0.9.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.73
[INFO] [stderr]   Downloaded gtk v0.9.2
[INFO] [stderr]   Downloaded futures-core v0.3.14
[INFO] [stderr]   Downloaded system_shutdown v3.0.0
[INFO] [stderr]   Downloaded strum_macros v0.18.0
[INFO] [stderr]   Downloaded thiserror v1.0.24
[INFO] [stderr]   Downloaded glib-macros v0.10.1
[INFO] [stderr]   Downloaded gdk-pixbuf v0.9.0
[INFO] [stderr]   Downloaded glib-sys v0.10.1
[INFO] [stderr]   Downloaded anyhow v1.0.40
[INFO] [stderr]   Downloaded gio v0.9.1
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.73
[INFO] [stderr]   Downloaded system-deps v1.3.2
[INFO] [stderr]   Downloaded cairo-rs v0.9.1
[INFO] [stderr]   Downloaded js-sys v0.3.50
[INFO] [stderr]   Downloaded serde_derive v1.0.125
[INFO] [stderr]   Downloaded futures v0.3.14
[INFO] [stderr]   Downloaded freedesktop_entry_parser v1.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c64c82717cf763d31ea32709b07155c03cc5fbead2e4d2872a8935295c811e5d
[INFO] running `Command { std: "docker" "start" "-a" "c64c82717cf763d31ea32709b07155c03cc5fbead2e4d2872a8935295c811e5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c64c82717cf763d31ea32709b07155c03cc5fbead2e4d2872a8935295c811e5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c64c82717cf763d31ea32709b07155c03cc5fbead2e4d2872a8935295c811e5d", kill_on_drop: false }`
[INFO] [stdout] c64c82717cf763d31ea32709b07155c03cc5fbead2e4d2872a8935295c811e5d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bb8d4bdd303120c503cbf49e262c3311d256285b9ad03cbcc5098edb8b5e6242
[INFO] running `Command { std: "docker" "start" "-a" "bb8d4bdd303120c503cbf49e262c3311d256285b9ad03cbcc5098edb8b5e6242", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.72
[INFO] [stderr]    Compiling serde_derive v1.0.125
[INFO] [stderr]    Compiling serde v1.0.125
[INFO] [stderr]    Compiling unicode-segmentation v1.7.1
[INFO] [stderr]    Compiling strum v0.18.0
[INFO] [stderr]    Compiling version-compare v0.0.10
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling proc-macro-nested v0.1.7
[INFO] [stderr]    Compiling futures-core v0.3.14
[INFO] [stderr]    Compiling futures-sink v0.3.14
[INFO] [stderr]    Compiling futures-task v0.3.14
[INFO] [stderr]    Compiling futures-io v0.3.14
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling anyhow v1.0.40
[INFO] [stderr]    Compiling gio v0.9.1
[INFO] [stderr]    Compiling futures-channel v0.3.14
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]    Compiling gdk-pixbuf v0.9.0
[INFO] [stderr]    Compiling cairo-rs v0.9.1
[INFO] [stderr]    Compiling pango v0.9.1
[INFO] [stderr]    Compiling gdk v0.13.2
[INFO] [stderr]    Compiling atk v0.9.0
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling gtk v0.9.2
[INFO] [stderr]    Compiling heck v0.3.2
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling whoami v1.1.2
[INFO] [stderr]    Compiling dirs-sys v0.3.6
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling itertools v0.10.0
[INFO] [stderr]    Compiling shell-words v1.0.0
[INFO] [stderr]    Compiling dirs v3.0.2
[INFO] [stderr]    Compiling scout-core v0.0.1 (/opt/rustwide/workdir/core)
[INFO] [stderr]    Compiling itoa v0.4.7
[INFO] [stderr]    Compiling libloading v0.7.0
[INFO] [stderr]    Compiling colorsys v0.6.3
[INFO] [stderr]    Compiling opener v0.4.1
[INFO] [stderr]    Compiling system_shutdown v3.0.0
[INFO] [stderr]    Compiling mime_guess v2.0.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.24
[INFO] [stderr]    Compiling strum_macros v0.18.0
[INFO] [stderr]    Compiling futures-macro v0.3.14
[INFO] [stderr]    Compiling futures-util v0.3.14
[INFO] [stderr]    Compiling thiserror v1.0.24
[INFO] [stderr]    Compiling freedesktop_entry_parser v1.1.2
[INFO] [stderr]    Compiling futures-executor v0.3.14
[INFO] [stderr]    Compiling futures v0.3.14
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling serde_json v1.0.64
[INFO] [stderr]    Compiling system-deps v1.3.2
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]    Compiling glib-macros v0.10.1
[INFO] [stderr]    Compiling glib-sys v0.10.1
[INFO] [stderr]    Compiling gobject-sys v0.10.0
[INFO] [stderr]    Compiling gio-sys v0.10.1
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.10.0
[INFO] [stderr]    Compiling pango-sys v0.10.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.10.0
[INFO] [stderr]    Compiling atk-sys v0.10.0
[INFO] [stderr]    Compiling gdk-sys v0.10.0
[INFO] [stderr]    Compiling gtk-sys v0.10.0
[INFO] [stderr]    Compiling glib v0.10.3
[INFO] [stdout] warning: `extern` fn uses type `Shared<std::boxed::Box<dyn PluginBindings>>`, which is not FFI-safe
[INFO] [stdout]   --> core/src/lib.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub register: unsafe extern "C" fn(Shared<Box<dyn PluginBindings>>),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> core/src/shared.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Shared<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> core/src/shared.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn borrow(&self) -> Ref<T> {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn borrow(&self) -> Ref<'_, T> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> core/src/shared.rs:75:20
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn borrow_mut(&self) -> RefMut<T> {
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn borrow_mut(&self) -> RefMut<'_, T> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> core/src/shared.rs:84:24
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn try_borrow_mut(&self) -> Result<RefMut<T>, BorrowMutError> {
[INFO] [stdout]    |                           ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn try_borrow_mut(&self) -> Result<RefMut<'_, T>, BorrowMutError> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> core/src/shared.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |         write!(f, "{}", self.deref())
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Shared<T>` does not implement `Deref`, so calling `deref` on `&Shared<T>` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 119 -         write!(f, "{}", self.deref())
[INFO] [stdout] 119 +         write!(f, "{}", self)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Shared<T>`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  17 + #[derive(Clone)]
[INFO] [stdout]  18 | pub struct Shared<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> core/src/shared.rs:126:25
[INFO] [stdout]     |
[INFO] [stdout] 126 |         write!(f, "{:?}", self.deref())
[INFO] [stdout]     |                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Shared<T>` does not implement `Deref`, so calling `deref` on `&Shared<T>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 126 -         write!(f, "{:?}", self.deref())
[INFO] [stdout] 126 +         write!(f, "{:?}", self)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Shared<T>`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  17 + #[derive(Clone)]
[INFO] [stdout]  18 | pub struct Shared<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling scout v0.0.1 (/opt/rustwide/workdir/app)
[INFO] [stderr]    Compiling scout_plugin_application v0.0.1 (/opt/rustwide/workdir/plugins/application)
[INFO] [stderr]    Compiling scout_plugin_directory v0.0.1 (/opt/rustwide/workdir/plugins/directory)
[INFO] [stdout] warning: unused import: `prefs_page::*`
[INFO] [stdout]  --> app/src/window/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use prefs_page::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `about::*`
[INFO] [stdout]   --> app/src/window/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use about::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prefs::*`
[INFO] [stdout]   --> app/src/window/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use prefs::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `plugin_bindings::*`
[INFO] [stdout]  --> app/src/plugin/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use plugin_bindings::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bindings` is never read
[INFO] [stdout]   --> plugins/application/src/lib.rs:13:2
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ApplicationPlugin {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 13 |     bindings: Shared<Box<dyn PluginBindings>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `actions` is never read
[INFO] [stdout]   --> plugins/application/src/result.rs:52:2
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct ApplicationResult {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     actions: Option<Vec<Action>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApplicationResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bindings` is never read
[INFO] [stdout]  --> plugins/directory/src/lib.rs:9:2
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct DirectoryPlugin {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] 9 |     bindings: Shared<Box<dyn PluginBindings>>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `icon` and `path_str` are never read
[INFO] [stdout]   --> plugins/directory/src/result.rs:14:2
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct DirectoryResult {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 14 |     icon: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 15 |     path_str: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DirectoryResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> app/src/window/window.rs:369:3
[INFO] [stdout]     |
[INFO] [stdout] 369 |         drop(self);
[INFO] [stdout]     |         ^^^^^----^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&mut window::window::Window`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 369 -         drop(self);
[INFO] [stdout] 369 +         let _ = self;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `exec` that must be used
[INFO] [stdout]   --> app/src/window/prefs.rs:56:6
[INFO] [stdout]    |
[INFO] [stdout] 56 |         std::process::Command::new("/proc/self/exe").exec();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let _ = std::process::Command::new("/proc/self/exe").exec();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 32s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "bb8d4bdd303120c503cbf49e262c3311d256285b9ad03cbcc5098edb8b5e6242", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb8d4bdd303120c503cbf49e262c3311d256285b9ad03cbcc5098edb8b5e6242", kill_on_drop: false }`
[INFO] [stdout] bb8d4bdd303120c503cbf49e262c3311d256285b9ad03cbcc5098edb8b5e6242
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 21b7ba43141b813e2b2da2477986d660fa46508bfc79e3b76a2cdeea84b3179c
[INFO] running `Command { std: "docker" "start" "-a" "21b7ba43141b813e2b2da2477986d660fa46508bfc79e3b76a2cdeea84b3179c", kill_on_drop: false }`
[INFO] [stdout] warning: `extern` fn uses type `Shared<std::boxed::Box<dyn PluginBindings>>`, which is not FFI-safe
[INFO] [stdout]   --> core/src/lib.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub register: unsafe extern "C" fn(Shared<Box<dyn PluginBindings>>),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> core/src/shared.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Shared<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> core/src/shared.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn borrow(&self) -> Ref<T> {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn borrow(&self) -> Ref<'_, T> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> core/src/shared.rs:75:20
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn borrow_mut(&self) -> RefMut<T> {
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn borrow_mut(&self) -> RefMut<'_, T> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> core/src/shared.rs:84:24
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn try_borrow_mut(&self) -> Result<RefMut<T>, BorrowMutError> {
[INFO] [stdout]    |                           ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn try_borrow_mut(&self) -> Result<RefMut<'_, T>, BorrowMutError> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> core/src/shared.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |         write!(f, "{}", self.deref())
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Shared<T>` does not implement `Deref`, so calling `deref` on `&Shared<T>` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 119 -         write!(f, "{}", self.deref())
[INFO] [stdout] 119 +         write!(f, "{}", self)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Shared<T>`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  17 + #[derive(Clone)]
[INFO] [stdout]  18 | pub struct Shared<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> core/src/shared.rs:126:25
[INFO] [stdout]     |
[INFO] [stdout] 126 |         write!(f, "{:?}", self.deref())
[INFO] [stdout]     |                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Shared<T>` does not implement `Deref`, so calling `deref` on `&Shared<T>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 126 -         write!(f, "{:?}", self.deref())
[INFO] [stdout] 126 +         write!(f, "{:?}", self)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Shared<T>`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  17 + #[derive(Clone)]
[INFO] [stdout]  18 | pub struct Shared<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling scout-core v0.0.1 (/opt/rustwide/workdir/core)
[INFO] [stderr]    Compiling scout_plugin_directory v0.0.1 (/opt/rustwide/workdir/plugins/directory)
[INFO] [stderr]    Compiling scout v0.0.1 (/opt/rustwide/workdir/app)
[INFO] [stderr]    Compiling scout_plugin_application v0.0.1 (/opt/rustwide/workdir/plugins/application)
[INFO] [stdout] warning: `extern` fn uses type `Shared<std::boxed::Box<dyn PluginBindings>>`, which is not FFI-safe
[INFO] [stdout]   --> core/src/lib.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub register: unsafe extern "C" fn(Shared<Box<dyn PluginBindings>>),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> core/src/shared.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Shared<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> core/src/shared.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn borrow(&self) -> Ref<T> {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn borrow(&self) -> Ref<'_, T> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> core/src/shared.rs:75:20
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn borrow_mut(&self) -> RefMut<T> {
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn borrow_mut(&self) -> RefMut<'_, T> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> core/src/shared.rs:84:24
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn try_borrow_mut(&self) -> Result<RefMut<T>, BorrowMutError> {
[INFO] [stdout]    |                           ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn try_borrow_mut(&self) -> Result<RefMut<'_, T>, BorrowMutError> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> core/src/shared.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |         write!(f, "{}", self.deref())
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Shared<T>` does not implement `Deref`, so calling `deref` on `&Shared<T>` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 119 -         write!(f, "{}", self.deref())
[INFO] [stdout] 119 +         write!(f, "{}", self)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Shared<T>`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  17 + #[derive(Clone)]
[INFO] [stdout]  18 | pub struct Shared<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> core/src/shared.rs:126:25
[INFO] [stdout]     |
[INFO] [stdout] 126 |         write!(f, "{:?}", self.deref())
[INFO] [stdout]     |                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Shared<T>` does not implement `Deref`, so calling `deref` on `&Shared<T>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 126 -         write!(f, "{:?}", self.deref())
[INFO] [stdout] 126 +         write!(f, "{:?}", self)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Shared<T>`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  17 + #[derive(Clone)]
[INFO] [stdout]  18 | pub struct Shared<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prefs_page::*`
[INFO] [stdout]  --> app/src/window/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use prefs_page::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `about::*`
[INFO] [stdout]   --> app/src/window/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use about::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prefs::*`
[INFO] [stdout]   --> app/src/window/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use prefs::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `plugin_bindings::*`
[INFO] [stdout]  --> app/src/plugin/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use plugin_bindings::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bindings` is never read
[INFO] [stdout]  --> plugins/directory/src/lib.rs:9:2
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct DirectoryPlugin {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] 9 |     bindings: Shared<Box<dyn PluginBindings>>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `icon` and `path_str` are never read
[INFO] [stdout]   --> plugins/directory/src/result.rs:14:2
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct DirectoryResult {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 14 |     icon: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 15 |     path_str: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DirectoryResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bindings` is never read
[INFO] [stdout]   --> plugins/application/src/lib.rs:13:2
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ApplicationPlugin {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 13 |     bindings: Shared<Box<dyn PluginBindings>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `actions` is never read
[INFO] [stdout]   --> plugins/application/src/result.rs:52:2
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct ApplicationResult {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     actions: Option<Vec<Action>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApplicationResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> app/src/window/window.rs:369:3
[INFO] [stdout]     |
[INFO] [stdout] 369 |         drop(self);
[INFO] [stdout]     |         ^^^^^----^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&mut window::window::Window`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 369 -         drop(self);
[INFO] [stdout] 369 +         let _ = self;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `exec` that must be used
[INFO] [stdout]   --> app/src/window/prefs.rs:56:6
[INFO] [stdout]    |
[INFO] [stdout] 56 |         std::process::Command::new("/proc/self/exe").exec();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let _ = std::process::Command::new("/proc/self/exe").exec();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.00s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "21b7ba43141b813e2b2da2477986d660fa46508bfc79e3b76a2cdeea84b3179c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21b7ba43141b813e2b2da2477986d660fa46508bfc79e3b76a2cdeea84b3179c", kill_on_drop: false }`
[INFO] [stdout] 21b7ba43141b813e2b2da2477986d660fa46508bfc79e3b76a2cdeea84b3179c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e2a5441a8179a9cead57e6700a12657b9f1c9a2726cab48f52a9d7f7c39b0217
[INFO] running `Command { std: "docker" "start" "-a" "e2a5441a8179a9cead57e6700a12657b9f1c9a2726cab48f52a9d7f7c39b0217", kill_on_drop: false }`
[INFO] [stderr] warning: `extern` fn uses type `Shared<std::boxed::Box<dyn PluginBindings>>`, which is not FFI-safe
[INFO] [stderr]   --> core/src/lib.rs:58:16
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub register: unsafe extern "C" fn(Shared<Box<dyn PluginBindings>>),
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stderr]    = note: this struct has unspecified layout
[INFO] [stderr] note: the type is defined here
[INFO] [stderr]   --> core/src/shared.rs:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct Shared<T> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> core/src/shared.rs:38:16
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub fn borrow(&self) -> Ref<T> {
[INFO] [stderr]    |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub fn borrow(&self) -> Ref<'_, T> {
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> core/src/shared.rs:75:20
[INFO] [stderr]    |
[INFO] [stderr] 75 |     pub fn borrow_mut(&self) -> RefMut<T> {
[INFO] [stderr]    |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 75 |     pub fn borrow_mut(&self) -> RefMut<'_, T> {
[INFO] [stderr]    |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> core/src/shared.rs:84:24
[INFO] [stderr]    |
[INFO] [stderr] 84 |     pub fn try_borrow_mut(&self) -> Result<RefMut<T>, BorrowMutError> {
[INFO] [stderr]    |                           ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                           |
[INFO] [stderr]    |                           the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 84 |     pub fn try_borrow_mut(&self) -> Result<RefMut<'_, T>, BorrowMutError> {
[INFO] [stderr]    |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stderr]    --> core/src/shared.rs:119:23
[INFO] [stderr]     |
[INFO] [stderr] 119 |         write!(f, "{}", self.deref())
[INFO] [stderr]     |                             ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `Shared<T>` does not implement `Deref`, so calling `deref` on `&Shared<T>` copies the reference, which does not do anything and can be removed
[INFO] [stderr]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 119 -         write!(f, "{}", self.deref())
[INFO] [stderr] 119 +         write!(f, "{}", self)
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `Shared<T>`, implement `Clone` for it
[INFO] [stderr]     |
[INFO] [stderr]  17 + #[derive(Clone)]
[INFO] [stderr]  18 | pub struct Shared<T> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stderr]    --> core/src/shared.rs:126:25
[INFO] [stderr]     |
[INFO] [stderr] 126 |         write!(f, "{:?}", self.deref())
[INFO] [stderr]     |                               ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `Shared<T>` does not implement `Deref`, so calling `deref` on `&Shared<T>` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 126 -         write!(f, "{:?}", self.deref())
[INFO] [stderr] 126 +         write!(f, "{:?}", self)
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `Shared<T>`, implement `Clone` for it
[INFO] [stderr]     |
[INFO] [stderr]  17 + #[derive(Clone)]
[INFO] [stderr]  18 | pub struct Shared<T> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `scout-core` (lib) generated 6 warnings (run `cargo fix --lib -p scout-core` to apply 5 suggestions)
[INFO] [stderr] warning: `scout-core` (lib test) generated 6 warnings (6 duplicates)
[INFO] [stderr] warning: field `bindings` is never read
[INFO] [stderr]   --> plugins/application/src/lib.rs:13:2
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct ApplicationPlugin {
[INFO] [stderr]    |            ----------------- field in this struct
[INFO] [stderr] 13 |     bindings: Shared<Box<dyn PluginBindings>>,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `actions` is never read
[INFO] [stderr]   --> plugins/application/src/result.rs:52:2
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub struct ApplicationResult {
[INFO] [stderr]    |            ----------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 52 |     actions: Option<Vec<Action>>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ApplicationResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `prefs_page::*`
[INFO] [stderr]  --> app/src/window/mod.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub use prefs_page::*;
[INFO] [stderr]   |         ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `about::*`
[INFO] [stderr]   --> app/src/window/mod.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub use about::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `prefs::*`
[INFO] [stderr]   --> app/src/window/mod.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub use prefs::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `plugin_bindings::*`
[INFO] [stderr]  --> app/src/plugin/mod.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub use plugin_bindings::*;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stderr]    --> app/src/window/window.rs:369:3
[INFO] [stderr]     |
[INFO] [stderr] 369 |         drop(self);
[INFO] [stderr]     |         ^^^^^----^
[INFO] [stderr]     |              |
[INFO] [stderr]     |              argument has type `&mut window::window::Window`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the expression or result
[INFO] [stderr]     |
[INFO] [stderr] 369 -         drop(self);
[INFO] [stderr] 369 +         let _ = self;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `exec` that must be used
[INFO] [stderr]   --> app/src/window/prefs.rs:56:6
[INFO] [stderr]    |
[INFO] [stderr] 56 |         std::process::Command::new("/proc/self/exe").exec();
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 56 |         let _ = std::process::Command::new("/proc/self/exe").exec();
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: field `bindings` is never read
[INFO] [stderr]  --> plugins/directory/src/lib.rs:9:2
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct DirectoryPlugin {
[INFO] [stderr]   |            --------------- field in this struct
[INFO] [stderr] 9 |     bindings: Shared<Box<dyn PluginBindings>>,
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `icon` and `path_str` are never read
[INFO] [stderr]   --> plugins/directory/src/result.rs:14:2
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct DirectoryResult {
[INFO] [stderr]    |            --------------- fields in this struct
[INFO] [stderr] 14 |     icon: String,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 15 |     path_str: String,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DirectoryResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `scout_plugin_application` (lib test) generated 2 warnings
[INFO] [stderr] warning: `scout` (bin "scout" test) generated 6 warnings (run `cargo fix --bin "scout" -p scout --tests` to apply 4 suggestions)
[INFO] [stderr] warning: `scout_plugin_directory` (lib test) generated 2 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/scout-9dc0f396da2d3cc5)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/scout_core-bfc7b5909d4b10cf)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/scout_plugin_application-54ff6527021565c3)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/scout_plugin_directory-8a1c5f1135d1b0ac)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests scout_core
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test core/src/lib.rs - (line 13) ... FAILED
[INFO] [stdout] test core/src/lib.rs - (line 23) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- core/src/lib.rs - (line 13) stdout ----
[INFO] [stdout] error: non-item in item list
[INFO] [stdout]   --> core/src/lib.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl scout_core::Plugin for MyPlugin {
[INFO] [stdout]    |                                      - item list starts here
[INFO] [stdout] 18 |   ...
[INFO] [stdout]    |   ^^^ non-item starts here
[INFO] [stdout] 19 | }
[INFO] [stdout]    | - item list ends here
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `get_results`
[INFO] [stdout]   --> core/src/lib.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl scout_core::Plugin for MyPlugin {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `get_results` in implementation
[INFO] [stdout]    |
[INFO] [stdout]    = help: implement the missing item: `fn get_results(&self, _: &str) -> Result<Vec<Box<(dyn SearchResult + 'static)>>, InvocationError> { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0046`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/lib.rs - (line 23) stdout ----
[INFO] [stdout] error[E0405]: cannot find trait `PluginRegistrar` in crate `scout_core`
[INFO] [stdout]   --> core/src/lib.rs:26:56
[INFO] [stdout]    |
[INFO] [stdout] 26 | extern "C" fn register(registrar: &mut dyn scout_core::PluginRegistrar) {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^ not found in `scout_core`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `MyPlugin` in this scope
[INFO] [stdout]   --> core/src/lib.rs:27:44
[INFO] [stdout]    |
[INFO] [stdout] 27 |   registrar.register("my_plugin", Box::new(MyPlugin));
[INFO] [stdout]    |                                            ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     core/src/lib.rs - (line 13)
[INFO] [stdout]     core/src/lib.rs - (line 23)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `-p scout-core --doc`
[INFO] running `Command { std: "docker" "inspect" "e2a5441a8179a9cead57e6700a12657b9f1c9a2726cab48f52a9d7f7c39b0217", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e2a5441a8179a9cead57e6700a12657b9f1c9a2726cab48f52a9d7f7c39b0217", kill_on_drop: false }`
[INFO] [stdout] e2a5441a8179a9cead57e6700a12657b9f1c9a2726cab48f52a9d7f7c39b0217
